package demo1215.am;


/*
String类:
String 类代表字符串。
Java 程序中的所有字符串字面值（如 "abc" ）都作为此类的对象。
特点:1.字符串是常量；它们的值在创建之后不能更改。
    2.因为 String 对象是不可变的，所以可以共享.

 对象不可变:一旦创建好这个对象,对象的内容就不会发生改变了.

==和equals的区别?
1.==用于比较两个变量中的值,该变量可以是任何数据类型,
如果是基本数据类型,比较的是数据值.
如果是引用数据类型,比较的是地址值.
2.equals方法是Object类中的方法,默认的比较的是两个对象的地址值,
重写后,比较的是对象的内容是否"相等"(内容相等,指的是对象的属性值相同).

学习写好的类:
String类的构造方法
1.public String();创建一个字符串,字符串的内容是""
2.public String(String original);创建一个字符串,字符串的内容就是original字符串的内容.
3.public String(char[] cs);根据字符数组,构造一个字符串对象.
4.public String(char[] cs,int offset ,int len);
   根据字符数组的一部分,构造一个字符串对象.
   offset:开始的索引位置
   len:字符的个数

成员方法:
1.public char charAt(int index);返回的是该索引的字符.
2.public int length();返回的是該字符串的長度.
3.public  int indexOf(int ch);
返回的是指定字符在当前字符串中出现的第一次的索引位置,找不到,返回-1.
4.public int indexOf(int ch,int fromIndex);
从指定的索引位置查询,返回的是该字符在当前字符串中第一次出现的位置,找不到,返回-1;

5.public int indexOf(String str);
查询字符串str在当前字符串中第一次出现的索引位置.找不到返回-1;
6.public int indexOf(String str,int fromIndex);
从指定位置fromIndex开始查询,查询字符串str在当前字符串中出现的第一次的索引位置.

判断方法
1.public boolean equals(Object obj);//重写了Object类中的equals方法.
用于比较两个字符串的内容是否相同.
obj实际指向String类型,且内容和当前字符串内容相同,返回true.
2.public  boolean startWith(String prefix);
 判断当前字符串是否以指定的前缀开始.
3.public boolean endWith(String suffix);
 判断当前字符串是否以指定的后缀结尾.
4.public boolean isEmpty();判断当前字符串是否为空,字符串的长度为0,返回true.


 */
public class Demo_01 {
    public static void main(String[] args) {
        System.out.println("".isEmpty());//true
        String s = "中国,加油";
        System.out.println(s.startsWith("中国"));
        System.out.println(s.endsWith("加油"));
        System.out.println(s.isEmpty());//false
    }

    public static void demo04() {
        String s3 = new String("123");//创建了几个对象 ,2个对象
        String s1 = "hello";
        String s2 = "hello";
        System.out.println(s1 == s2);//true
        System.out.println(s1 == s3);//false
        System.out.println(s2 == s3);//false
        System.out.println(s3.equals("123"));//false
    }

    public static void demo03() {
        String s = "helloehlleohello";
        System.out.println(s.indexOf("lo", 6));
    }

    public static void demo02() {
        String s = "12345789";
        char c = s.charAt(2);
        System.out.println(c);
        System.out.println(s.length());
        for (int i = 0; i < s.length(); i++) {
            System.out.println(s.charAt(i));
        }
    }

    public static void demo01() {
        String s = new String();//""
        System.out.println(s);
        String s1 = new String("abc");
        System.out.println(s1.toString());//abc
        //创建一个char数组
        char[] cs = {'a', '1', '$', '%'};
        String s2 = new String(cs);
        System.out.println(s2);//"a1$%"

        String s3 = new String(cs, 1, 2);
        System.out.println(s3);//"1$"
    }
}
